/* Copyright (c) 2011, The Linux Foundation. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *     * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above
 *       copyright notice, this list of conditions and the following
 *       disclaimer in the documentation and/or other materials provided
 *       with the distribution.
 *     * Neither the name of The Linux Foundation nor the names of its
 *       contributors may be used to endorse or promote products derived
 *       from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 */
/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#include "loc_api_rpcgen_common_rpc.h"

bool_t
xdr_rpc_loc_client_handle_type (XDR *xdrs, rpc_loc_client_handle_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_int32 (xdrs, objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_event_mask_type (XDR *xdrs, rpc_loc_event_mask_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint64 (xdrs, objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_position_valid_mask_type (XDR *xdrs, rpc_loc_position_valid_mask_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint64 (xdrs, objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_pos_technology_mask_type (XDR *xdrs, rpc_loc_pos_technology_mask_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint32 (xdrs, objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_session_status_e_type (XDR *xdrs, rpc_loc_session_status_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_calendar_time_s_type (XDR *xdrs, rpc_loc_calendar_time_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint16 (xdrs, &objp->year))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->month))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->day_of_week))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->day))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->hour))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->minute))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->second))
         return FALSE;
     if (!xdr_rpc_uint16 (xdrs, &objp->millisecond))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_parsed_position_s_type (XDR *xdrs, rpc_loc_parsed_position_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_position_valid_mask_type (xdrs, &objp->valid_mask))
         return FALSE;
     if (!xdr_rpc_loc_session_status_e_type (xdrs, &objp->session_status))
         return FALSE;
     if (!xdr_rpc_loc_calendar_time_s_type (xdrs, &objp->timestamp_calendar))
         return FALSE;
     if (!xdr_rpc_uint64 (xdrs, &objp->timestamp_utc))
         return FALSE;
     if (!xdr_rpc_uint8 (xdrs, &objp->leap_seconds))
         return FALSE;
     if (!xdr_float (xdrs, &objp->time_unc))
         return FALSE;
     if (!xdr_double (xdrs, &objp->latitude))
         return FALSE;
     if (!xdr_double (xdrs, &objp->longitude))
         return FALSE;
     if (!xdr_float (xdrs, &objp->altitude_wrt_ellipsoid))
         return FALSE;
     if (!xdr_float (xdrs, &objp->altitude_wrt_mean_sea_level))
         return FALSE;
     if (!xdr_float (xdrs, &objp->speed_horizontal))
         return FALSE;
     if (!xdr_float (xdrs, &objp->speed_vertical))
         return FALSE;
     if (!xdr_float (xdrs, &objp->heading))
         return FALSE;
     if (!xdr_float (xdrs, &objp->hor_unc_circular))
         return FALSE;
     if (!xdr_float (xdrs, &objp->hor_unc_ellipse_semi_major))
         return FALSE;
     if (!xdr_float (xdrs, &objp->hor_unc_ellipse_semi_minor))
         return FALSE;
     if (!xdr_float (xdrs, &objp->hor_unc_ellipse_orient_azimuth))
         return FALSE;
     if (!xdr_float (xdrs, &objp->vert_unc))
         return FALSE;
     if (!xdr_float (xdrs, &objp->speed_unc))
         return FALSE;
     if (!xdr_float (xdrs, &objp->heading_unc))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->confidence_horizontal))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->confidence_vertical))
         return FALSE;
     if (!xdr_float (xdrs, &objp->magnetic_deviation))
         return FALSE;
     if (!xdr_rpc_loc_pos_technology_mask_type (xdrs, &objp->technology_mask))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_sv_system_e_type (XDR *xdrs, rpc_loc_sv_system_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_sv_status_e_type (XDR *xdrs, rpc_loc_sv_status_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_sv_info_valid_mask_type (XDR *xdrs, rpc_loc_sv_info_valid_mask_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint32 (xdrs, objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_sv_info_s_type (XDR *xdrs, rpc_loc_sv_info_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_sv_info_valid_mask_type (xdrs, &objp->valid_mask))
         return FALSE;
     if (!xdr_rpc_loc_sv_system_e_type (xdrs, &objp->system))
         return FALSE;
     if (!xdr_rpc_uint8 (xdrs, &objp->prn))
         return FALSE;
     if (!xdr_rpc_uint8 (xdrs, &objp->health_status))
         return FALSE;
     if (!xdr_rpc_loc_sv_status_e_type (xdrs, &objp->process_status))
         return FALSE;
     if (!xdr_rpc_boolean (xdrs, &objp->has_eph))
         return FALSE;
     if (!xdr_rpc_boolean (xdrs, &objp->has_alm))
         return FALSE;
     if (!xdr_float (xdrs, &objp->elevation))
         return FALSE;
     if (!xdr_float (xdrs, &objp->azimuth))
         return FALSE;
     if (!xdr_float (xdrs, &objp->snr))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_gnss_info_valid_mask_type (XDR *xdrs, rpc_loc_gnss_info_valid_mask_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint32 (xdrs, objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_gnss_info_s_type (XDR *xdrs, rpc_loc_gnss_info_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_gnss_info_valid_mask_type (xdrs, &objp->valid_mask))
         return FALSE;
     if (!xdr_float (xdrs, &objp->position_dop))
         return FALSE;
     if (!xdr_float (xdrs, &objp->horizontal_dop))
         return FALSE;
     if (!xdr_float (xdrs, &objp->vertical_dop))
         return FALSE;
     if (!xdr_rpc_boolean (xdrs, &objp->altitude_assumed))
         return FALSE;
     if (!xdr_rpc_uint16 (xdrs, &objp->sv_count))
         return FALSE;
     if (!xdr_array (xdrs, (char **)&objp->sv_list.sv_list_val, (u_int *) &objp->sv_list.sv_list_len, 80,
        sizeof (rpc_loc_sv_info_s_type), (xdrproc_t) xdr_rpc_loc_sv_info_s_type))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_nmea_report_s_type (XDR *xdrs, rpc_loc_nmea_report_s_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_rpc_uint16 (xdrs, &objp->length))
         return FALSE;
     if (!xdr_opaque (xdrs, objp->nmea_sentences, 200))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_status_event_e_type (XDR *xdrs, rpc_loc_status_event_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_engine_state_e_type (XDR *xdrs, rpc_loc_engine_state_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_fix_session_state_e_type (XDR *xdrs, rpc_loc_fix_session_state_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_status_event_payload_u_type (XDR *xdrs, rpc_loc_status_event_payload_u_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_status_event_e_type (xdrs, &objp->disc))
         return FALSE;
    switch (objp->disc) {
    case RPC_LOC_STATUS_EVENT_ENGINE_STATE:
         if (!xdr_rpc_loc_engine_state_e_type (xdrs, &objp->rpc_loc_status_event_payload_u_type_u.engine_state))
             return FALSE;
        break;
    case RPC_LOC_STATUS_EVENT_FIX_SESSION_STATE:
         if (!xdr_rpc_loc_fix_session_state_e_type (xdrs, &objp->rpc_loc_status_event_payload_u_type_u.fix_session_state))
             return FALSE;
        break;
    default:
        break;
    }
    return TRUE;
}

bool_t
xdr_rpc_loc_status_event_s_type (XDR *xdrs, rpc_loc_status_event_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_status_event_e_type (xdrs, &objp->event))
         return FALSE;
     if (!xdr_rpc_loc_status_event_payload_u_type (xdrs, &objp->payload))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_addr_e_type (XDR *xdrs, rpc_loc_server_addr_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_addr_ipv4_type (XDR *xdrs, rpc_loc_server_addr_ipv4_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint32 (xdrs, &objp->addr))
         return FALSE;
     if (!xdr_rpc_uint16 (xdrs, &objp->port))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_addr_url_type (XDR *xdrs, rpc_loc_server_addr_url_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_rpc_uint16 (xdrs, &objp->length))
         return FALSE;
     if (!xdr_opaque (xdrs, objp->addr, 256))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_addr_ipv6_type (XDR *xdrs, rpc_loc_server_addr_ipv6_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_vector (xdrs, (char *)objp->addr, 8,
        sizeof (rpc_uint16), (xdrproc_t) xdr_rpc_uint16))
         return FALSE;
     if (!xdr_rpc_uint32 (xdrs, &objp->port))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_addr_u_type (XDR *xdrs, rpc_loc_server_addr_u_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_server_addr_e_type (xdrs, &objp->disc))
         return FALSE;
    switch (objp->disc) {
    case RPC_LOC_SERVER_ADDR_IPV4:
         if (!xdr_rpc_loc_server_addr_ipv4_type (xdrs, &objp->rpc_loc_server_addr_u_type_u.ipv4))
             return FALSE;
        break;
    case RPC_LOC_SERVER_ADDR_URL:
         if (!xdr_rpc_loc_server_addr_url_type (xdrs, &objp->rpc_loc_server_addr_u_type_u.url))
             return FALSE;
        break;
    case RPC_LOC_SERVER_ADDR_IPV6:
         if (!xdr_rpc_loc_server_addr_ipv6_type (xdrs, &objp->rpc_loc_server_addr_u_type_u.ipv6))
             return FALSE;
        break;
    default:
        break;
    }
    return TRUE;
}

bool_t
xdr_rpc_loc_server_info_s_type (XDR *xdrs, rpc_loc_server_info_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_server_addr_e_type (xdrs, &objp->addr_type))
         return FALSE;
     if (!xdr_rpc_loc_server_addr_u_type (xdrs, &objp->addr_info))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_notify_verify_e_type (XDR *xdrs, rpc_loc_ni_notify_verify_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_event_e_type (XDR *xdrs, rpc_loc_ni_event_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_datacoding_scheme_e_type (XDR *xdrs, rpc_loc_ni_datacoding_scheme_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_vx_requester_id_encoding_scheme_e_type (XDR *xdrs, rpc_loc_ni_vx_requester_id_encoding_scheme_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_vx_pos_mode_e_type (XDR *xdrs, rpc_loc_ni_vx_pos_mode_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_vx_requester_id_s_type (XDR *xdrs, rpc_loc_ni_vx_requester_id_s_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_u_char (xdrs, &objp->requester_id_length))
         return FALSE;
     if (!xdr_opaque (xdrs, objp->requester_id, 200))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_vx_notify_verify_req_s_type (XDR *xdrs, rpc_loc_ni_vx_notify_verify_req_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_ni_notify_verify_e_type (xdrs, &objp->notification_priv_type))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->pos_qos_incl))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->pos_qos))
         return FALSE;
     if (!xdr_rpc_uint32 (xdrs, &objp->num_fixes))
         return FALSE;
     if (!xdr_rpc_uint32 (xdrs, &objp->tbf))
         return FALSE;
     if (!xdr_rpc_loc_ni_vx_pos_mode_e_type (xdrs, &objp->pos_mode))
         return FALSE;
     if (!xdr_rpc_loc_ni_vx_requester_id_encoding_scheme_e_type (xdrs, &objp->encoding_scheme))
         return FALSE;
     if (!xdr_rpc_loc_ni_vx_requester_id_s_type (xdrs, &objp->requester_id))
         return FALSE;
     if (!xdr_rpc_uint16 (xdrs, &objp->user_resp_timer_val))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_supl_pos_method_e_type (XDR *xdrs, rpc_loc_ni_supl_pos_method_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_supl_slp_session_id_s_type (XDR *xdrs, rpc_loc_ni_supl_slp_session_id_s_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_u_char (xdrs, &objp->presence))
         return FALSE;
     if (!xdr_opaque (xdrs, objp->session_id, 4))
         return FALSE;
     if (!xdr_rpc_loc_server_info_s_type (xdrs, &objp->slp_address))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_requestor_id_s_type (XDR *xdrs, rpc_loc_ni_requestor_id_s_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_u_char (xdrs, &objp->data_coding_scheme))
         return FALSE;
     if (!xdr_opaque (xdrs, objp->requestor_id_string, 200))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->string_len))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_supl_client_name_s_type (XDR *xdrs, rpc_loc_ni_supl_client_name_s_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_u_char (xdrs, &objp->data_coding_scheme))
         return FALSE;
     if (!xdr_opaque (xdrs, objp->client_name_string, 64))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->string_len))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_supl_qop_s_type (XDR *xdrs, rpc_loc_ni_supl_qop_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_u_char (xdrs, &objp->bit_mask))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->horacc))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->veracc))
         return FALSE;
     if (!xdr_rpc_uint16 (xdrs, &objp->maxLocAge))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->delay))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_supl_notify_verify_req_s_type (XDR *xdrs, rpc_loc_ni_supl_notify_verify_req_s_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_rpc_loc_ni_notify_verify_e_type (xdrs, &objp->notification_priv_type))
         return FALSE;
     if (!xdr_rpc_uint16 (xdrs, &objp->flags))
         return FALSE;
     if (!xdr_rpc_loc_ni_supl_slp_session_id_s_type (xdrs, &objp->supl_slp_session_id))
         return FALSE;
     if (!xdr_opaque (xdrs, objp->supl_hash, 8))
         return FALSE;
     if (!xdr_rpc_loc_ni_datacoding_scheme_e_type (xdrs, &objp->datacoding_scheme))
         return FALSE;
     if (!xdr_rpc_loc_ni_supl_pos_method_e_type (xdrs, &objp->pos_method))
         return FALSE;
     if (!xdr_rpc_loc_ni_requestor_id_s_type (xdrs, &objp->requestor_id))
         return FALSE;
     if (!xdr_rpc_loc_ni_supl_client_name_s_type (xdrs, &objp->client_name))
         return FALSE;
     if (!xdr_rpc_loc_ni_supl_qop_s_type (xdrs, &objp->supl_qop))
         return FALSE;
     if (!xdr_rpc_uint16 (xdrs, &objp->user_response_timer))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_ext_client_address_s_type (XDR *xdrs, rpc_loc_ni_ext_client_address_s_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_u_char (xdrs, &objp->ext_client_address_len))
         return FALSE;
     if (!xdr_opaque (xdrs, objp->ext_client_address, 20))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_location_type_e_type (XDR *xdrs, rpc_loc_ni_location_type_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_deferred_location_s_type (XDR *xdrs, rpc_loc_ni_deferred_location_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_u_char (xdrs, &objp->unused_bits))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->ms_available))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_codeword_string_s_type (XDR *xdrs, rpc_loc_ni_codeword_string_s_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_u_char (xdrs, &objp->data_coding_scheme))
         return FALSE;
     if (!xdr_opaque (xdrs, objp->lcs_codeword_string, 20))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->string_len))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_service_type_id_s_type (XDR *xdrs, rpc_loc_ni_service_type_id_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_u_char (xdrs, &objp->lcs_service_type_id))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_umts_cp_notify_verify_req_s_type (XDR *xdrs, rpc_loc_ni_umts_cp_notify_verify_req_s_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_rpc_loc_ni_notify_verify_e_type (xdrs, &objp->notification_priv_type))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->invoke_id))
         return FALSE;
     if (!xdr_rpc_uint16 (xdrs, &objp->flags))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->notification_length))
         return FALSE;
     if (!xdr_opaque (xdrs, objp->notification_text, 64))
         return FALSE;
     if (!xdr_rpc_loc_ni_datacoding_scheme_e_type (xdrs, &objp->datacoding_scheme))
         return FALSE;
     if (!xdr_rpc_loc_ni_ext_client_address_s_type (xdrs, &objp->ext_client_address_data))
         return FALSE;
     if (!xdr_rpc_loc_ni_location_type_e_type (xdrs, &objp->location_type))
         return FALSE;
     if (!xdr_rpc_loc_ni_deferred_location_s_type (xdrs, &objp->deferred_location))
         return FALSE;
     if (!xdr_rpc_loc_ni_requestor_id_s_type (xdrs, &objp->requestor_id))
         return FALSE;
     if (!xdr_rpc_loc_ni_codeword_string_s_type (xdrs, &objp->codeword_string))
         return FALSE;
     if (!xdr_rpc_loc_ni_service_type_id_s_type (xdrs, &objp->service_type_id))
         return FALSE;
     if (!xdr_rpc_uint16 (xdrs, &objp->user_response_timer))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_service_interaction_e_type (XDR *xdrs, rpc_loc_ni_service_interaction_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_vx_service_interaction_req_s_type (XDR *xdrs, rpc_loc_ni_vx_service_interaction_req_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_ni_vx_notify_verify_req_s_type (xdrs, &objp->ni_vx_req))
         return FALSE;
     if (!xdr_rpc_loc_ni_service_interaction_e_type (xdrs, &objp->service_interation_type))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_event_payload_u_type (XDR *xdrs, rpc_loc_ni_event_payload_u_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_ni_event_e_type (xdrs, &objp->disc))
         return FALSE;
    switch (objp->disc) {
    case RPC_LOC_NI_EVENT_VX_NOTIFY_VERIFY_REQ:
         if (!xdr_rpc_loc_ni_vx_notify_verify_req_s_type (xdrs, &objp->rpc_loc_ni_event_payload_u_type_u.vx_req))
             return FALSE;
        break;
    case RPC_LOC_NI_EVENT_SUPL_NOTIFY_VERIFY_REQ:
         if (!xdr_rpc_loc_ni_supl_notify_verify_req_s_type (xdrs, &objp->rpc_loc_ni_event_payload_u_type_u.supl_req))
             return FALSE;
        break;
    case RPC_LOC_NI_EVENT_UMTS_CP_NOTIFY_VERIFY_REQ:
         if (!xdr_rpc_loc_ni_umts_cp_notify_verify_req_s_type (xdrs, &objp->rpc_loc_ni_event_payload_u_type_u.umts_cp_req))
             return FALSE;
        break;
    case RPC_LOC_NI_EVENT_VX_SERVICE_INTERACTION_REQ:
         if (!xdr_rpc_loc_ni_vx_service_interaction_req_s_type (xdrs, &objp->rpc_loc_ni_event_payload_u_type_u.service_interaction_req))
             return FALSE;
        break;
    default:
        break;
    }
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_event_s_type (XDR *xdrs, rpc_loc_ni_event_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_ni_event_e_type (xdrs, &objp->event))
         return FALSE;
     if (!xdr_rpc_loc_ni_event_payload_u_type (xdrs, &objp->payload))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_assist_data_request_e_type (XDR *xdrs, rpc_loc_assist_data_request_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_struct_loc_time_download_source_s_type_servers_ptr (XDR *xdrs, rpc_struct_loc_time_download_source_s_type_servers_ptr *objp)
{
    register int32_t *buf;

     if (!xdr_string (xdrs, objp, 256))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_struct_loc_time_download_source_s_type_servers (XDR *xdrs, rpc_struct_loc_time_download_source_s_type_servers objp)
{
    register int32_t *buf;

     if (!xdr_vector (xdrs, (char *)objp, 3,
        sizeof (rpc_struct_loc_time_download_source_s_type_servers_ptr), (xdrproc_t) xdr_rpc_struct_loc_time_download_source_s_type_servers_ptr))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_time_download_source_s_type (XDR *xdrs, rpc_loc_time_download_source_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint32 (xdrs, &objp->delay_threshold))
         return FALSE;
     if (!xdr_rpc_struct_loc_time_download_source_s_type_servers (xdrs, objp->servers))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr (XDR *xdrs, rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr *objp)
{
    register int32_t *buf;

     if (!xdr_string (xdrs, objp, 256))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_struct_loc_predicted_orbits_data_source_s_type_servers (XDR *xdrs, rpc_struct_loc_predicted_orbits_data_source_s_type_servers objp)
{
    register int32_t *buf;

     if (!xdr_vector (xdrs, (char *)objp, 3,
        sizeof (rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr), (xdrproc_t) xdr_rpc_struct_loc_predicted_orbits_data_source_s_type_servers_ptr))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_predicted_orbits_data_source_s_type (XDR *xdrs, rpc_loc_predicted_orbits_data_source_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint32 (xdrs, &objp->max_file_size))
         return FALSE;
     if (!xdr_rpc_uint32 (xdrs, &objp->max_part_size))
         return FALSE;
     if (!xdr_rpc_struct_loc_predicted_orbits_data_source_s_type_servers (xdrs, objp->servers))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_pos_inj_request_s_type (XDR *xdrs, rpc_loc_pos_inj_request_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint32 (xdrs, &objp->flags))
         return FALSE;
     if (!xdr_double (xdrs, &objp->latitude))
         return FALSE;
     if (!xdr_double (xdrs, &objp->longitude))
         return FALSE;
     if (!xdr_rpc_uint32 (xdrs, &objp->position_uncertainty))
         return FALSE;
     if (!xdr_rpc_uint64 (xdrs, &objp->timestamp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_assist_data_request_payload_u_type (XDR *xdrs, rpc_loc_assist_data_request_payload_u_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_assist_data_request_e_type (xdrs, &objp->disc))
         return FALSE;
    switch (objp->disc) {
    case RPC_LOC_ASSIST_DATA_TIME_REQ:
         if (!xdr_rpc_loc_time_download_source_s_type (xdrs, &objp->rpc_loc_assist_data_request_payload_u_type_u.time_download))
             return FALSE;
        break;
    case RPC_LOC_ASSIST_DATA_PREDICTED_ORBITS_REQ:
         if (!xdr_rpc_loc_predicted_orbits_data_source_s_type (xdrs, &objp->rpc_loc_assist_data_request_payload_u_type_u.data_download))
             return FALSE;
        break;
    case RPC_LOC_ASSIST_DATA_POSITION_INJECTION_REQ:
         if (!xdr_rpc_loc_pos_inj_request_s_type (xdrs, &objp->rpc_loc_assist_data_request_payload_u_type_u.pos_injection))
             return FALSE;
        break;
    default:
        break;
    }
    return TRUE;
}

bool_t
xdr_rpc_loc_assist_data_request_s_type (XDR *xdrs, rpc_loc_assist_data_request_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_assist_data_request_e_type (xdrs, &objp->event))
         return FALSE;
     if (!xdr_rpc_loc_assist_data_request_payload_u_type (xdrs, &objp->payload))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_connection_handle (XDR *xdrs, rpc_loc_server_connection_handle *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint32 (xdrs, objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_protocol_e_type (XDR *xdrs, rpc_loc_server_protocol_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_connection_e_type (XDR *xdrs, rpc_loc_server_connection_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_request_e_type (XDR *xdrs, rpc_loc_server_request_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_open_req_s_type (XDR *xdrs, rpc_loc_server_open_req_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_server_connection_handle (xdrs, &objp->conn_handle))
         return FALSE;
     if (!xdr_rpc_loc_server_protocol_e_type (xdrs, &objp->protocol))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_multi_open_req_s_type (XDR *xdrs, rpc_loc_server_multi_open_req_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_server_connection_handle (xdrs, &objp->conn_handle))
         return FALSE;
     if (!xdr_rpc_loc_server_protocol_e_type (xdrs, &objp->protocol))
         return FALSE;
     if (!xdr_rpc_loc_server_connection_e_type (xdrs, &objp->connection_type))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_close_req_s_type (XDR *xdrs, rpc_loc_server_close_req_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_server_connection_handle (xdrs, &objp->conn_handle))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_request_u_type (XDR *xdrs, rpc_loc_server_request_u_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_server_request_e_type (xdrs, &objp->disc))
         return FALSE;
    switch (objp->disc) {
    case RPC_LOC_SERVER_REQUEST_OPEN:
         if (!xdr_rpc_loc_server_open_req_s_type (xdrs, &objp->rpc_loc_server_request_u_type_u.open_req))
             return FALSE;
        break;
    case RPC_LOC_SERVER_REQUEST_CLOSE:
         if (!xdr_rpc_loc_server_close_req_s_type (xdrs, &objp->rpc_loc_server_request_u_type_u.close_req))
             return FALSE;
        break;
    case RPC_LOC_SERVER_REQUEST_MULTI_OPEN:
         if (!xdr_rpc_loc_server_multi_open_req_s_type (xdrs, &objp->rpc_loc_server_request_u_type_u.multi_open_req))
             return FALSE;
        break;
    default:
        break;
    }
    return TRUE;
}

bool_t
xdr_rpc_loc_server_request_s_type (XDR *xdrs, rpc_loc_server_request_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_server_request_e_type (xdrs, &objp->event))
         return FALSE;
     if (!xdr_rpc_loc_server_request_u_type (xdrs, &objp->payload))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_qwip_request_e_type (XDR *xdrs, rpc_loc_qwip_request_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_qwip_request_s_type (XDR *xdrs, rpc_loc_qwip_request_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_qwip_request_e_type (xdrs, &objp->request_type))
         return FALSE;
     if (!xdr_rpc_uint16 (xdrs, &objp->tbf_ms))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_reserved_payload_s_type (XDR *xdrs, rpc_loc_reserved_payload_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint16 (xdrs, &objp->data_size))
         return FALSE;
     if (!xdr_bytes (xdrs, (char **)&objp->data.data_val, (u_int *) &objp->data.data_len, ~0))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ioctl_e_type (XDR *xdrs, rpc_loc_ioctl_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_api_version_s_type (XDR *xdrs, rpc_loc_api_version_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_u_char (xdrs, &objp->major))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->minor))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_fix_recurrence_e_type (XDR *xdrs, rpc_loc_fix_recurrence_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_operation_mode_e_type (XDR *xdrs, rpc_loc_operation_mode_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_notify_e_type (XDR *xdrs, rpc_loc_notify_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_fix_criteria_s_type (XDR *xdrs, rpc_loc_fix_criteria_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint32 (xdrs, &objp->valid_mask))
         return FALSE;
     if (!xdr_rpc_loc_fix_recurrence_e_type (xdrs, &objp->recurrence_type))
         return FALSE;
     if (!xdr_rpc_loc_operation_mode_e_type (xdrs, &objp->preferred_operation_mode))
         return FALSE;
     if (!xdr_rpc_uint32 (xdrs, &objp->preferred_accuracy))
         return FALSE;
     if (!xdr_rpc_uint32 (xdrs, &objp->preferred_response_time))
         return FALSE;
     if (!xdr_rpc_boolean (xdrs, &objp->intermediate_pos_report_enabled))
         return FALSE;
     if (!xdr_rpc_loc_notify_e_type (xdrs, &objp->notify_type))
         return FALSE;
     if (!xdr_rpc_uint32 (xdrs, &objp->min_interval))
         return FALSE;
     if (!xdr_float (xdrs, &objp->min_distance))
         return FALSE;
     if (!xdr_rpc_uint32 (xdrs, &objp->min_dist_sample_interval))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ni_user_resp_e_type (XDR *xdrs, rpc_loc_ni_user_resp_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_user_verify_s_type (XDR *xdrs, rpc_loc_user_verify_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_ni_user_resp_e_type (xdrs, &objp->user_resp))
         return FALSE;
     if (!xdr_rpc_loc_ni_event_s_type (xdrs, &objp->ni_event_pass_back))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_predicted_orbits_data_format_e_type (XDR *xdrs, rpc_loc_predicted_orbits_data_format_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_predicted_orbits_data_s_type (XDR *xdrs, rpc_loc_predicted_orbits_data_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_predicted_orbits_data_format_e_type (xdrs, &objp->format_type))
         return FALSE;
     if (!xdr_rpc_uint32 (xdrs, &objp->total_size))
         return FALSE;
     if (!xdr_rpc_uint8 (xdrs, &objp->total_parts))
         return FALSE;
     if (!xdr_rpc_uint8 (xdrs, &objp->part))
         return FALSE;
     if (!xdr_rpc_uint16 (xdrs, &objp->part_len))
         return FALSE;
     if (!xdr_bytes (xdrs, (char **)&objp->data_ptr.data_ptr_val, (u_int *) &objp->data_ptr.data_ptr_len, ~0))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_predicted_orbits_data_validity_report_s_type (XDR *xdrs, rpc_loc_predicted_orbits_data_validity_report_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint64 (xdrs, &objp->start_time_utc))
         return FALSE;
     if (!xdr_rpc_uint16 (xdrs, &objp->valid_duration_hrs))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_predicted_orbits_auto_download_config_s_type (XDR *xdrs, rpc_loc_predicted_orbits_auto_download_config_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_boolean (xdrs, &objp->enable))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->auto_check_every_hrs))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_assist_data_time_s_type (XDR *xdrs, rpc_loc_assist_data_time_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint64 (xdrs, &objp->time_utc))
         return FALSE;
     if (!xdr_rpc_uint32 (xdrs, &objp->uncertainty))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_assist_pos_valid_mask_type (XDR *xdrs, rpc_loc_assist_pos_valid_mask_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint64 (xdrs, objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_assist_data_pos_s_type (XDR *xdrs, rpc_loc_assist_data_pos_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_assist_pos_valid_mask_type (xdrs, &objp->valid_mask))
         return FALSE;
     if (!xdr_rpc_uint64 (xdrs, &objp->timestamp_utc))
         return FALSE;
     if (!xdr_double (xdrs, &objp->latitude))
         return FALSE;
     if (!xdr_double (xdrs, &objp->longitude))
         return FALSE;
     if (!xdr_float (xdrs, &objp->altitude_wrt_ellipsoid))
         return FALSE;
     if (!xdr_float (xdrs, &objp->altitude_wrt_mean_sea_level))
         return FALSE;
     if (!xdr_float (xdrs, &objp->hor_unc_circular))
         return FALSE;
     if (!xdr_float (xdrs, &objp->vert_unc))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->confidence_horizontal))
         return FALSE;
     if (!xdr_u_char (xdrs, &objp->confidence_vertical))
         return FALSE;
     if (!xdr_rpc_int32 (xdrs, &objp->timestamp_age))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_open_status_e_type (XDR *xdrs, rpc_loc_server_open_status_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_pdp_type_e_type (XDR *xdrs, rpc_loc_server_pdp_type_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_open_status_s_type (XDR *xdrs, rpc_loc_server_open_status_s_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_rpc_loc_server_connection_handle (xdrs, &objp->conn_handle))
         return FALSE;
     if (!xdr_rpc_loc_server_open_status_e_type (xdrs, &objp->open_status))
         return FALSE;
     if (!xdr_opaque (xdrs, objp->apn_name, 100))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_multi_open_status_s_type (XDR *xdrs, rpc_loc_server_multi_open_status_s_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_rpc_loc_server_connection_handle (xdrs, &objp->conn_handle))
         return FALSE;
     if (!xdr_rpc_loc_server_open_status_e_type (xdrs, &objp->open_status))
         return FALSE;
     if (!xdr_rpc_loc_server_pdp_type_e_type (xdrs, &objp->pdp_type))
         return FALSE;
     if (!xdr_opaque (xdrs, objp->apn_name, 100))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_close_status_e_type (XDR *xdrs, rpc_loc_server_close_status_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_server_close_status_s_type (XDR *xdrs, rpc_loc_server_close_status_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_server_connection_handle (xdrs, &objp->conn_handle))
         return FALSE;
     if (!xdr_rpc_loc_server_close_status_e_type (xdrs, &objp->close_status))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_wiper_fix_time_s_type (XDR *xdrs, rpc_loc_wiper_fix_time_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint32 (xdrs, &objp->slow_clock_count))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_wiper_fix_pos_s_type (XDR *xdrs, rpc_loc_wiper_fix_pos_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_int32 (xdrs, &objp->lat))
         return FALSE;
     if (!xdr_rpc_int32 (xdrs, &objp->lon))
         return FALSE;
     if (!xdr_rpc_uint16 (xdrs, &objp->HEPE))
         return FALSE;
     if (!xdr_rpc_uint8 (xdrs, &objp->num_of_aps_used))
         return FALSE;
     if (!xdr_rpc_uint8 (xdrs, &objp->fix_error_code))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_wiper_ap_info_s_type (XDR *xdrs, rpc_loc_wiper_ap_info_s_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_opaque (xdrs, objp->mac_addr, 6))
         return FALSE;
     if (!xdr_rpc_int32 (xdrs, &objp->rssi))
         return FALSE;
     if (!xdr_rpc_uint16 (xdrs, &objp->channel))
         return FALSE;
     if (!xdr_rpc_uint8 (xdrs, &objp->ap_qualifier))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_wiper_ap_set_s_type (XDR *xdrs, rpc_loc_wiper_ap_set_s_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_rpc_uint8 (xdrs, &objp->num_of_aps))
         return FALSE;
     if (!xdr_vector (xdrs, (char *)objp->ap_info, 50,
        sizeof (rpc_loc_wiper_ap_info_s_type), (xdrproc_t) xdr_rpc_loc_wiper_ap_info_s_type))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_wiper_position_report_s_type (XDR *xdrs, rpc_loc_wiper_position_report_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint8 (xdrs, &objp->wiper_valid_info_flag))
         return FALSE;
     if (!xdr_rpc_loc_wiper_fix_time_s_type (xdrs, &objp->wiper_fix_time))
         return FALSE;
     if (!xdr_rpc_loc_wiper_fix_pos_s_type (xdrs, &objp->wiper_fix_position))
         return FALSE;
     if (!xdr_rpc_loc_wiper_ap_set_s_type (xdrs, &objp->wiper_ap_set))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_wiper_status_e_type (XDR *xdrs, rpc_loc_wiper_status_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_fs_operation_e_type (XDR *xdrs, rpc_loc_fs_operation_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_efs_data_s_type (XDR *xdrs, rpc_loc_efs_data_s_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_opaque (xdrs, objp->filename, 64))
         return FALSE;
     if (!xdr_rpc_loc_fs_operation_e_type (xdrs, &objp->operation))
         return FALSE;
     if (!xdr_rpc_uint32 (xdrs, &objp->total_size))
         return FALSE;
     if (!xdr_bytes (xdrs, (char **)&objp->data_ptr.data_ptr_val, (u_int *) &objp->data_ptr.data_ptr_len, ~0))
         return FALSE;
     if (!xdr_rpc_uint32 (xdrs, &objp->part_len))
         return FALSE;
     if (!xdr_rpc_uint8 (xdrs, &objp->part))
         return FALSE;
     if (!xdr_rpc_uint8 (xdrs, &objp->total_parts))
         return FALSE;
     if (!xdr_rpc_uint32 (xdrs, &objp->reserved))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_error_estimate_config_e_type (XDR *xdrs, rpc_loc_error_estimate_config_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_apn_profiles_type (XDR *xdrs, rpc_loc_apn_profiles_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_rpc_uint32 (xdrs, &objp->srv_system_type))
         return FALSE;
     if (!xdr_rpc_uint32 (xdrs, &objp->pdp_type))
         return FALSE;
     if (!xdr_rpc_uint32 (xdrs, &objp->reserved))
         return FALSE;
     if (!xdr_opaque (xdrs, objp->apn_name, 100))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_lock_e_type (XDR *xdrs, rpc_loc_lock_e_type *objp)
{
    register int32_t *buf;

     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_nmea_sentence_type (XDR *xdrs, rpc_loc_nmea_sentence_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint32 (xdrs, objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_assist_data_type (XDR *xdrs, rpc_loc_assist_data_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_uint32 (xdrs, objp))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_assist_data_delete_s_type (XDR *xdrs, rpc_loc_assist_data_delete_s_type *objp)
{
    register int32_t *buf;

    int i;
     if (!xdr_rpc_loc_assist_data_type (xdrs, &objp->type))
         return FALSE;
     if (!xdr_vector (xdrs, (char *)objp->reserved, 8,
        sizeof (rpc_uint32), (xdrproc_t) xdr_rpc_uint32))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_ioctl_data_u_type (XDR *xdrs, rpc_loc_ioctl_data_u_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_ioctl_e_type (xdrs, &objp->disc))
         return FALSE;
    switch (objp->disc) {
    case RPC_LOC_IOCTL_SET_FIX_CRITERIA:
         if (!xdr_rpc_loc_fix_criteria_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.fix_criteria))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_INFORM_NI_USER_RESPONSE:
         if (!xdr_rpc_loc_user_verify_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.user_verify_resp))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_INJECT_PREDICTED_ORBITS_DATA:
         if (!xdr_rpc_loc_predicted_orbits_data_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.predicted_orbits_data))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_SET_PREDICTED_ORBITS_DATA_AUTO_DOWNLOAD:
         if (!xdr_rpc_loc_predicted_orbits_auto_download_config_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.predicted_orbits_auto_download))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_INJECT_UTC_TIME:
         if (!xdr_rpc_loc_assist_data_time_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.assistance_data_time))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_INJECT_POSITION:
         if (!xdr_rpc_loc_assist_data_pos_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.assistance_data_position))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_INFORM_SERVER_OPEN_STATUS:
         if (!xdr_rpc_loc_server_open_status_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.conn_open_status))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_INFORM_SERVER_CLOSE_STATUS:
         if (!xdr_rpc_loc_server_close_status_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.conn_close_status))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_SEND_WIPER_POSITION_REPORT:
         if (!xdr_rpc_loc_wiper_position_report_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.wiper_pos))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_NOTIFY_WIPER_STATUS:
         if (!xdr_rpc_loc_wiper_status_e_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.wiper_status))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_SET_ENGINE_LOCK:
         if (!xdr_rpc_loc_lock_e_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.engine_lock))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_SET_SBAS_CONFIG:
         if (!xdr_rpc_boolean (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.sbas_mode))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_SET_NMEA_TYPES:
         if (!xdr_rpc_loc_nmea_sentence_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.nmea_types))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_SET_ON_DEMAND_LPM:
         if (!xdr_rpc_boolean (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.on_demand_lpm))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_SET_CDMA_PDE_SERVER_ADDR:
    case RPC_LOC_IOCTL_SET_CDMA_MPC_SERVER_ADDR:
    case RPC_LOC_IOCTL_SET_UMTS_SLP_SERVER_ADDR:
    case RPC_LOC_IOCTL_SET_CUSTOM_PDE_SERVER_ADDR:
         if (!xdr_rpc_loc_server_info_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.server_addr))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_DELETE_ASSIST_DATA:
         if (!xdr_rpc_loc_assist_data_delete_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.assist_data_delete))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_ACCESS_EFS_DATA:
         if (!xdr_rpc_loc_efs_data_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.efs_data))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_ERROR_ESTIMATE_CONFIG:
         if (!xdr_rpc_loc_error_estimate_config_e_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.error_estimate_config))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_SET_XTRA_T_SESSION_CONTROL:
         if (!xdr_rpc_uint8 (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.xtra_t_session_control))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_SET_LBS_APN_PROFILE:
    case RPC_LOC_IOCTL_SET_XTRA_APN_PROFILE:
         if (!xdr_vector (xdrs, (char *)objp->rpc_loc_ioctl_data_u_type_u.apn_profiles, 6,
            sizeof (rpc_loc_apn_profiles_type), (xdrproc_t) xdr_rpc_loc_apn_profiles_type))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_SET_DATA_ENABLE:
         if (!xdr_rpc_boolean (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.data_enable))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_SET_SUPL_VERSION:
         if (!xdr_rpc_uint32 (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.supl_version))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_INFORM_SERVER_MULTI_OPEN_STATUS:
         if (!xdr_rpc_loc_server_multi_open_status_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.multi_conn_open_status))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_RESERVED_CMD:
         if (!xdr_rpc_loc_reserved_payload_s_type (xdrs, &objp->rpc_loc_ioctl_data_u_type_u.reserved))
             return FALSE;
        break;
    default:
        break;
    }
    return TRUE;
}

bool_t
xdr_rpc_loc_ioctl_callback_data_u_type (XDR *xdrs, rpc_loc_ioctl_callback_data_u_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_ioctl_e_type (xdrs, &objp->disc))
         return FALSE;
    switch (objp->disc) {
    case RPC_LOC_IOCTL_GET_API_VERSION:
         if (!xdr_rpc_loc_api_version_s_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.api_version))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_GET_FIX_CRITERIA:
         if (!xdr_rpc_loc_fix_criteria_s_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.fix_criteria))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_GET_ENGINE_LOCK:
         if (!xdr_rpc_loc_lock_e_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.engine_lock))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_GET_SBAS_CONFIG:
         if (!xdr_rpc_boolean (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.sbas_mode))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_GET_NMEA_TYPES:
         if (!xdr_rpc_loc_nmea_sentence_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.nmea_types))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_GET_ON_DEMAND_LPM:
         if (!xdr_rpc_boolean (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.on_demand_lpm))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_GET_CDMA_PDE_SERVER_ADDR:
    case RPC_LOC_IOCTL_GET_CDMA_MPC_SERVER_ADDR:
    case RPC_LOC_IOCTL_GET_UMTS_SLP_SERVER_ADDR:
    case RPC_LOC_IOCTL_GET_CUSTOM_PDE_SERVER_ADDR:
         if (!xdr_rpc_loc_server_info_s_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.server_addr))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_QUERY_PREDICTED_ORBITS_DATA_SOURCE:
         if (!xdr_rpc_loc_predicted_orbits_data_source_s_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.predicted_orbits_data_source))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_QUERY_PREDICTED_ORBITS_DATA_VALIDITY:
         if (!xdr_rpc_loc_predicted_orbits_data_validity_report_s_type (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.predicted_orbits_data_validity))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_GET_XTRA_T_SESSION_CONTROL:
         if (!xdr_rpc_uint8 (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.xtra_t_session_control))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_GET_LBS_APN_PROFILE:
    case RPC_LOC_IOCTL_GET_XTRA_APN_PROFILE:
         if (!xdr_vector (xdrs, (char *)objp->rpc_loc_ioctl_callback_data_u_type_u.apn_profiles, 6,
            sizeof (rpc_loc_apn_profiles_type), (xdrproc_t) xdr_rpc_loc_apn_profiles_type))
             return FALSE;
        break;
    case RPC_LOC_IOCTL_GET_SUPL_VERSION:
         if (!xdr_rpc_uint32 (xdrs, &objp->rpc_loc_ioctl_callback_data_u_type_u.supl_version))
             return FALSE;
        break;
    default:
        break;
    }
    return TRUE;
}

bool_t
xdr_rpc_loc_ioctl_callback_s_type (XDR *xdrs, rpc_loc_ioctl_callback_s_type *objp)
{
    register int32_t *buf;

     if (!xdr_rpc_loc_ioctl_e_type (xdrs, &objp->type))
         return FALSE;
     if (!xdr_rpc_int32 (xdrs, &objp->status))
         return FALSE;
     if (!xdr_rpc_loc_ioctl_callback_data_u_type (xdrs, &objp->data))
         return FALSE;
    return TRUE;
}

bool_t
xdr_rpc_loc_event_payload_u_type (XDR *xdrs, rpc_loc_event_payload_u_type *objp)
{
    register int32_t *buf;

     if (!xdr_u_quad_t (xdrs, &objp->disc))
         return FALSE;
    switch (objp->disc) {
    case RPC_LOC_EVENT_PARSED_POSITION_REPORT:
         if (!xdr_rpc_loc_parsed_position_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.parsed_location_report))
             return FALSE;
        break;
    case RPC_LOC_EVENT_SATELLITE_REPORT:
         if (!xdr_rpc_loc_gnss_info_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.gnss_report))
             return FALSE;
        break;
    case RPC_LOC_EVENT_NMEA_POSITION_REPORT:
    case RPC_LOC_EVENT_NMEA_1HZ_REPORT:
         if (!xdr_rpc_loc_nmea_report_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.nmea_report))
             return FALSE;
        break;
    case RPC_LOC_EVENT_NI_NOTIFY_VERIFY_REQUEST:
         if (!xdr_rpc_loc_ni_event_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.ni_request))
             return FALSE;
        break;
    case RPC_LOC_EVENT_ASSISTANCE_DATA_REQUEST:
         if (!xdr_rpc_loc_assist_data_request_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.assist_data_request))
             return FALSE;
        break;
    case RPC_LOC_EVENT_LOCATION_SERVER_REQUEST:
         if (!xdr_rpc_loc_server_request_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.loc_server_request))
             return FALSE;
        break;
    case RPC_LOC_EVENT_IOCTL_REPORT:
         if (!xdr_rpc_loc_ioctl_callback_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.ioctl_report))
             return FALSE;
        break;
    case RPC_LOC_EVENT_STATUS_REPORT:
         if (!xdr_rpc_loc_status_event_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.status_report))
             return FALSE;
        break;
    case RPC_LOC_EVENT_WPS_NEEDED_REQUEST:
         if (!xdr_rpc_loc_qwip_request_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.qwip_request))
             return FALSE;
        break;
    case RPC_LOC_EVENT_RESERVED:
         if (!xdr_rpc_loc_reserved_payload_s_type (xdrs, &objp->rpc_loc_event_payload_u_type_u.reserved))
             return FALSE;
        break;
    default:
        break;
    }
    return TRUE;
}
